Search Linux Wireless

[PATCH 0/2 v3] cfg80211: mac80211: 802.11p OCB mode support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The IEEE 802.11p amendment (already part of IEEE 802.11-2012)
specifies usage of 5 and 10 MHz wide channels in 5.9GHz band for
vehicular environment. All the 802.11p compliant devices should
be set to the newly added operation mode -- OCB (Outside the
Context of a BSS). No authentication/association is necessary to
communicate. The only parameter to be configured is the channel
(central frequency and bandwidth) to communicate on. The channel
has to be known a priori. It is set during the 'ocb join'
operation (sent via netlink message from user-space).

This patchset adds the OCB mode, OCB join and leave handling
(nl80211, cfg80211, mac80211), 802.11p EDCA parameters
modification, RX and TX path (for unicast/broadcast messages).

What aspects are ignored for now:
* Rate control -- We limit the supported datarates to the .11a
  mandatory rates and use the Minstrel as usual
* Actually restricting the OCB mode to the 5.9GHz band

Tested with the ath9k card with slightly modified driver.
User-space configuration utilities are not part of this patch.


Changes since v2:
* Make each separate patch warning-free (define dummy "case
  NL80211_IFTYPE_OCB" statements to mac80211 for the "cfg80211
  patch") (JBerg)
* Remove unnecessary check in nl80211_join_ocb() (JBerg)
* Do not forget to call __cfg80211_leave_ocb() in __cfg80211_leave()
  (JBerg)

Changes since v1:
* Do not define bssid_wildcard in a header file, define it as
  'static const' in ieee80211_setup_sdata only (JBerg)
* Use GFP_ATOMIC memory allocation in ieee80211_ocb_rx_no_sta
  so it can be called in the RX path (JBerg)
* IEEE80211_CHANCTX_EXCLUSIVE -> IEEE80211_CHANCTX_SHARED (JBerg)
* Fix the situation when the housekeeping timer might be called
  during ocb_leave() (JBerg)
* Remove NL80211_CHAN_WIDTH_5/10 from 'old channels' handling
  functions cfg80211_get_chandef_type() and nl80211_send_chandef()
  (JBerg)
* Do not break ABI by adding new fields in the middle of the enum
  nl80211_commands (JBerg)
* Add a flag denoting whether we are joined to the network or not
* Handle multiple consecutive calls to ocb_join
* Many minor fixes


Rostislav Lisovy (2):
  cfg80211: mac80211: 802.11p OCB mode handling
  mac80211: 802.11p OCB mode support

 include/net/cfg80211.h       |  14 +++
 include/net/mac80211.h       |   2 +
 include/uapi/linux/nl80211.h |  11 ++
 net/mac80211/Kconfig         |  11 ++
 net/mac80211/Makefile        |   3 +-
 net/mac80211/cfg.c           |  14 +++
 net/mac80211/chan.c          |   3 +
 net/mac80211/debug.h         |  10 ++
 net/mac80211/driver-ops.h    |   3 +-
 net/mac80211/ieee80211_i.h   |  29 +++++
 net/mac80211/iface.c         |  23 ++++
 net/mac80211/ocb.c           | 250 +++++++++++++++++++++++++++++++++++++++++++
 net/mac80211/rx.c            |  35 ++++++
 net/mac80211/tx.c            |  15 +++
 net/mac80211/util.c          |  31 +++++-
 net/mac80211/wme.c           |   4 +
 net/wireless/Makefile        |   2 +-
 net/wireless/chan.c          |   8 ++
 net/wireless/core.c          |   3 +
 net/wireless/core.h          |  12 +++
 net/wireless/nl80211.c       |  39 +++++++
 net/wireless/ocb.c           |  88 +++++++++++++++
 net/wireless/rdev-ops.h      |  21 ++++
 net/wireless/trace.h         |  21 ++++
 net/wireless/util.c          |   5 +-
 25 files changed, 648 insertions(+), 9 deletions(-)
 create mode 100644 net/mac80211/ocb.c
 create mode 100644 net/wireless/ocb.c

-- 
2.0.0.rc4

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux