[PATCH 00/24] Support for new regulatory flags and P2P GO channel

Ilan Peer ilan.peer
Mon May 19 00:05:57 PDT 2014


The set relies on the previous set "P2P Channel selection enhancements".

The patch add support for the following features:

* Support for channel regulatory flag GO CONCURRENT which allows GO
  instantiation on such a channel even if the channel setting do not allow
  initiating radiation on the channel. A channel marked with the
  GO CONCURRENT flag can be used for GO instantiation iff the device is also
  concurrently connected to BSS on the same channel on the 2 GHz band or to
  a channel in the same UNII band (on the 5 GHz band) and radar is not set.
  The main motivation for this relaxation is that such channels can be used
  for GO operation, since the device is under the guidance of some other
  master device that is assumed to be reliable in the context of regulatory
  adherence.

* In order to prevent daisy chaining scenarios, the above relaxation is not
  allowed when the station interface is connected to a GO. For the similar
  reason, if a GO is instantiated on a channel due to the GO CONCURRENT
  relaxation, it should not allow legacy clients connection to it.

* Add support for changing the P2P GO operating channel (at this point
  without CSA which will be addressed in the next patch set) due to a change
  in the regulatory settings.

* In case that Multi Concurrent Channel (MCC) is supported, add support for
  changing the P2P GO's operating channel due to policy consideration, that
  might prefer operating in single channel mode instead operating in
  multiple channels concurrently.

* To improve the frequency selection during P2P GO channel changes, the patch
  set add support for saving the group common frequencies, and using this
  information when switching a channel, so that the selected frequency/
  channel would be one that can be used by all of the group members.

* Support for INDOOR regulatory flag in the context of P2P. Generally, a
  P2P GO/Client operation on indoor channels is not allowed unless there is
  some knowledge that the device is operating in indoor environment. The
  patch set allows support for using such channels if the peer device is
  identified as a non-mobile device.

* Some utility functions and channel selection modifications.

Andrei Otcheretianski (2):
  wpa_supplicant: Add more chan/freq conversion functions
  wpa_supplicant/hostapd: Add awareness of CSA support

Arik Nemtsov (1):
  wpa_supplicant: refactor channel list update event

Ilan Peer (21):
  wpa_supplicant: use the 'no_ir' notation
  driver.h: add indoor only and go concurrent flags
  nl80211: get indoor only and go concurrent attributes
  P2P: allow additional operating channels for P2P GO and client
  nl80211: clear beacon_set when deleting a beacon
  P2P: Save group common frequencies
  P2P: Save group common frequencies in invitation result
  P2P: Move a GO from its operating frequency
  P2P: Add a function to compute the group common freqs [BUGFIX]
  P2P: move a GO to a frequency that is also supported by the client
  WPS: add missing device types
  P2P: deduce if a device is indoor based on the device category
  P2P: add support for using indoor channels
  P2P: consider channel optimizations for additional cases
  P2P: Add all channels to GoN response
  P2P: Do not allow GO Concurrent relaxation
  P2P: Disallow legacy client connection on indoor channel
  P2P: Remove GO handling in avoid frequency event
  P2P: modify wpas_p2p_init_go_params
  P2P: Disallow GO CS immediately after GoN or invitation
  P2P: do not perform P2P GO CS in some cases

 hostapd/main.c                    |    1 +
 src/ap/drv_callbacks.c            |    9 +
 src/ap/hostapd.c                  |   21 +
 src/ap/hostapd.h                  |    2 +
 src/ap/hw_features.c              |   55 ++-
 src/ap/hw_features.h              |    9 +
 src/ap/ieee802_11.c               |    9 +
 src/common/ieee802_11_common.c    |  169 ++++++-
 src/common/ieee802_11_common.h    |    5 +
 src/drivers/driver.h              |    6 +-
 src/drivers/driver_nl80211.c      |    7 +-
 src/p2p/p2p.c                     |   73 +--
 src/p2p/p2p.h                     |   40 +-
 src/p2p/p2p_go_neg.c              |   13 +-
 src/p2p/p2p_group.c               |   42 ++
 src/p2p/p2p_utils.c               |  191 ++++----
 src/wps/wps_defs.h                |   45 +-
 wpa_supplicant/ap.c               |    1 +
 wpa_supplicant/config.c           |    4 +
 wpa_supplicant/config.h           |   31 ++
 wpa_supplicant/config_file.c      |    6 +
 wpa_supplicant/ctrl_iface.c       |    6 +-
 wpa_supplicant/events.c           |   59 +--
 wpa_supplicant/p2p_supplicant.c   |  923 +++++++++++++++++++++++++++++--------
 wpa_supplicant/p2p_supplicant.h   |   14 +-
 wpa_supplicant/wpa_supplicant.c   |    1 +
 wpa_supplicant/wpa_supplicant_i.h |    7 +
 27 files changed, 1374 insertions(+), 375 deletions(-)

-- 
1.7.10.4




More information about the Hostap mailing list