nl80211/cfg80211: extend mgmt-tx API for off-channel
With p2p, it is sometimes necessary to transmit a frame (typically an action frame) on another channel than the current channel. Enable this through the CMD_FRAME API, and allow it to wait for a response. A new command allows that wait to be aborted. However, allow userspace to specify whether or not it wants to allow off-channel TX, it may actually want to use the same channel only. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
9a67d761b3
commit
f7ca38dfe5
@@ -1134,7 +1134,9 @@ struct cfg80211_pmksa {
|
||||
* @cancel_remain_on_channel: Cancel an on-going remain-on-channel operation.
|
||||
* This allows the operation to be terminated prior to timeout based on
|
||||
* the duration value.
|
||||
* @mgmt_tx: Transmit a management frame
|
||||
* @mgmt_tx: Transmit a management frame.
|
||||
* @mgmt_tx_cancel_wait: Cancel the wait time from transmitting a management
|
||||
* frame on another channel
|
||||
*
|
||||
* @testmode_cmd: run a test mode command
|
||||
*
|
||||
@@ -1291,10 +1293,13 @@ struct cfg80211_ops {
|
||||
u64 cookie);
|
||||
|
||||
int (*mgmt_tx)(struct wiphy *wiphy, struct net_device *dev,
|
||||
struct ieee80211_channel *chan,
|
||||
struct ieee80211_channel *chan, bool offchan,
|
||||
enum nl80211_channel_type channel_type,
|
||||
bool channel_type_valid,
|
||||
bool channel_type_valid, unsigned int wait,
|
||||
const u8 *buf, size_t len, u64 *cookie);
|
||||
int (*mgmt_tx_cancel_wait)(struct wiphy *wiphy,
|
||||
struct net_device *dev,
|
||||
u64 cookie);
|
||||
|
||||
int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev,
|
||||
bool enabled, int timeout);
|
||||
|
Reference in New Issue
Block a user