summaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2014-11-19 05:54:26 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-11-19 12:45:12 -0500
commit1057d35ede5dbf7ed7842357564fb42c9b54ba50 (patch)
treeffcef6d5d942a74a1f3f71fc5aab6d910398240d /include/net/cfg80211.h
parentc2733905692589cc73928ffd65d26107536e80fe (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.h14
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 */
2371struct cfg80211_ops { 2377struct 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/*