diff options
author | Rostislav Lisovy <lisovy@gmail.com> | 2014-11-03 04:33:18 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-11-04 07:18:17 -0500 |
commit | 6e0bd6c35b021dc73a81ebd1ef79761233c48b50 (patch) | |
tree | f3da02d8006a5ff98f3dd33a37dc1eddafd7b85c /net/wireless/rdev-ops.h | |
parent | 5b3dc42b1b0db0264bbbe4ae44c15ab97bfd1e93 (diff) |
cfg80211: 802.11p OCB mode handling
This patch adds new iface type (NL80211_IFTYPE_OCB) representing
the OCB (Outside the Context of a BSS) mode.
When establishing a connection to the network a cfg80211_join_ocb
function is called (particular nl80211_command is added as well).
A mandatory parameters during the ocb_join operation are 'center
frequency' and 'channel width (5/10 MHz)'.
Changes done in mac80211 are minimal possible required to avoid
many warnings (warning: enumeration value 'NL80211_IFTYPE_OCB'
not handled in switch) during compilation. Full functionality
(where needed) is added in the following patch.
Signed-off-by: Rostislav Lisovy <rostislav.lisovy@fel.cvut.cz>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/rdev-ops.h')
-rw-r--r-- | net/wireless/rdev-ops.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/net/wireless/rdev-ops.h b/net/wireless/rdev-ops.h index 71b1db3cc645..1b3864cd50ca 100644 --- a/net/wireless/rdev-ops.h +++ b/net/wireless/rdev-ops.h | |||
@@ -348,6 +348,27 @@ static inline int rdev_leave_mesh(struct cfg80211_registered_device *rdev, | |||
348 | return ret; | 348 | return ret; |
349 | } | 349 | } |
350 | 350 | ||
351 | static inline int rdev_join_ocb(struct cfg80211_registered_device *rdev, | ||
352 | struct net_device *dev, | ||
353 | struct ocb_setup *setup) | ||
354 | { | ||
355 | int ret; | ||
356 | trace_rdev_join_ocb(&rdev->wiphy, dev, setup); | ||
357 | ret = rdev->ops->join_ocb(&rdev->wiphy, dev, setup); | ||
358 | trace_rdev_return_int(&rdev->wiphy, ret); | ||
359 | return ret; | ||
360 | } | ||
361 | |||
362 | static inline int rdev_leave_ocb(struct cfg80211_registered_device *rdev, | ||
363 | struct net_device *dev) | ||
364 | { | ||
365 | int ret; | ||
366 | trace_rdev_leave_ocb(&rdev->wiphy, dev); | ||
367 | ret = rdev->ops->leave_ocb(&rdev->wiphy, dev); | ||
368 | trace_rdev_return_int(&rdev->wiphy, ret); | ||
369 | return ret; | ||
370 | } | ||
371 | |||
351 | static inline int rdev_change_bss(struct cfg80211_registered_device *rdev, | 372 | static inline int rdev_change_bss(struct cfg80211_registered_device *rdev, |
352 | struct net_device *dev, | 373 | struct net_device *dev, |
353 | struct bss_parameters *params) | 374 | struct bss_parameters *params) |