[PATCH v2 0/5] multi-role infrastructure support - channel switch

Omer Dagan omer.dagan at tandemg.com
Sun Apr 7 23:44:55 PDT 2019


My team and I are working on implementing multi-role on a single phy,
during development we encountered an issue with channel switching events

the current status is that the kernel should send a channel_switch_started 
event (pre-channel switch), however the event is not propagated through hostapd.

the following patches are meant to deal with this situation.

motivation:
As an example, assuming we have a station connected to a far-AP, and the
local-AP is working and transmitting.
Now if the far-AP starts a CSA the process will fail and the station
will disconnect since the local-AP holds the radio's channel.

With this patch, I created an action script that requests a
channel-switch to the same channel as the far-AP upon event received
It works!! (both interfaces changed channel with no disconnects)

In the future a user-space application will manage both interfaces
and the switching scenarios more intelligently, so this patch-set 
is an infrastructure change for that application

V2:
unified called callback of the two events to save code-duplication
tested against HWSIM and performs as expected

Omer Dagan (5):
  add callback for 'channel_switch_started'
  add 'channel_switch_started' event definitions
  added the event to the relevant switch statments
  modified the wpa_cli so the event will be acssible
  Unified channel switch call to remove duplicate code

 src/ap/drv_callbacks.c             | 23 +++++++++--
 src/ap/hostapd.h                   |  2 +-
 src/common/wpa_ctrl.h              |  2 +
 src/drivers/driver.h               | 13 ++++++
 src/drivers/driver_common.c        |  1 +
 src/drivers/driver_nl80211_event.c | 28 ++++++++++---
 wpa_supplicant/ap.c                |  4 +-
 wpa_supplicant/ap.h                |  2 +-
 wpa_supplicant/events.c            | 66 ++++++++++++++++++------------
 wpa_supplicant/wpa_cli.c           |  2 +
 10 files changed, 104 insertions(+), 39 deletions(-)

-- 
2.17.1




More information about the Hostap mailing list