Commit 950e4e21 authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo
Browse files

cfg80211: implement multi-interface CSA



This extends NL80211_CMD_CHANNEL_SWITCH by adding
a new attribute NL80211_ATTR_CH_SWITCH_IFACES. The
attribute holds an array of CSA attributes. Each
entry holds attributes that were used until now:
ifindex, chandef, blocktx, beacon/proberesp.

The new attribute is used as a flag in
send_wiphy() and a driver may advertise the
capability with WIPHY_FLAG_HAS_MULTI_IF_CHSWITCH.

Userspace may now submit CSA in the old way or
with the new attribute set. If the new attribute
is set attributes outside the nested attribute are
ignored.

This makes it possible for userspace to request a
multi-interface channel switch while allowing
sanity checks wrt target interface/channel
combination.

This changes channel_switch() cfg80211 op to pass
different set of parameters. The only driver that
is affected by this is mac80211.

This change should not affect any prior CSA
behaviour.

Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
(cherry picked from commit http://mid.gmane.org/1390226968-18928-4-git-send-email-michal.kazior@tieto.com)

Conflicts:
	include/net/cfg80211.h
	include/uapi/linux/nl80211.h
	net/wireless/nl80211.c
parent ba22a47e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment