diff options
author | Arik Nemtsov <arik@wizery.com> | 2014-11-19 05:54:26 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-11-19 12:45:12 -0500 |
commit | 1057d35ede5dbf7ed7842357564fb42c9b54ba50 (patch) | |
tree | ffcef6d5d942a74a1f3f71fc5aab6d910398240d /include/net/cfg80211.h | |
parent | c2733905692589cc73928ffd65d26107536e80fe (diff) |
cfg80211: introduce TDLS channel switch commands
Introduce commands to initiate and cancel TDLS channel-switching. Once
TDLS channel-switching is started, the lower level driver is responsible
for continually initiating channel-switch operations and returning to
the base (AP) channel to listen for beacons from time to time.
Upon cancellation of the channel-switch all communication between the
relevant TDLS peers will continue on the base channel.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 220d5f5f1aca..8d04dfef32bf 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -2367,6 +2367,12 @@ struct cfg80211_qos_map { | |||
2367 | * (invoked with the wireless_dev mutex held) | 2367 | * (invoked with the wireless_dev mutex held) |
2368 | * @leave_ocb: leave the current OCB network | 2368 | * @leave_ocb: leave the current OCB network |
2369 | * (invoked with the wireless_dev mutex held) | 2369 | * (invoked with the wireless_dev mutex held) |
2370 | * | ||
2371 | * @tdls_channel_switch: Start channel-switching with a TDLS peer. The driver | ||
2372 | * is responsible for continually initiating channel-switching operations | ||
2373 | * and returning to the base channel for communication with the AP. | ||
2374 | * @tdls_cancel_channel_switch: Stop channel-switching with a TDLS peer. Both | ||
2375 | * peers must be on the base channel when the call completes. | ||
2370 | */ | 2376 | */ |
2371 | struct cfg80211_ops { | 2377 | struct cfg80211_ops { |
2372 | int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); | 2378 | int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); |
@@ -2622,6 +2628,14 @@ struct cfg80211_ops { | |||
2622 | u16 admitted_time); | 2628 | u16 admitted_time); |
2623 | int (*del_tx_ts)(struct wiphy *wiphy, struct net_device *dev, | 2629 | int (*del_tx_ts)(struct wiphy *wiphy, struct net_device *dev, |
2624 | u8 tsid, const u8 *peer); | 2630 | u8 tsid, const u8 *peer); |
2631 | |||
2632 | int (*tdls_channel_switch)(struct wiphy *wiphy, | ||
2633 | struct net_device *dev, | ||
2634 | const u8 *addr, u8 oper_class, | ||
2635 | struct cfg80211_chan_def *chandef); | ||
2636 | void (*tdls_cancel_channel_switch)(struct wiphy *wiphy, | ||
2637 | struct net_device *dev, | ||
2638 | const u8 *addr); | ||
2625 | }; | 2639 | }; |
2626 | 2640 | ||
2627 | /* | 2641 | /* |