linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Goodenough <david.goodenough@btconnect.com>
To: linux-wireless@vger.kernel.org
Subject: Re: [RFC 0/7] hostap: add DFS master ability
Date: Thu, 26 Jan 2012 19:27:17 +0000	[thread overview]
Message-ID: <201201261927.17754.david.goodenough@btconnect.com> (raw)
In-Reply-To: <1327581689-22090-1-git-send-email-victorg@ti.com>

On Thursday 26 Jan 2012, Victor Goldenshtein wrote:
> This patch set (with nl/cfg/mac80211 patch series) adds support for DFS
> (Dynamic Frequency Selection) according 802.11h.
> 
> 
> Main idea
> ===================
> 
> DFS master algorithm is implemented in the hostapd, while nl/cfg/mac80211
> will pipe relevant commands/events to the driver/hostapd.
As I understand it hostapd is not involved in mesh (802.11s) networks,
so how does this integrate there?  As I understand it 802.11s is entirely
done in the kernel.

David
> 
> Based on the assumption that the device/driver supports radar interference
> detection i.e., it is capable to generate radar_detected event by using
> different pattern detection techniques:
> 
> 
> 1. Pattern detection in the HW: the device generates 'radar_detected'
> event. 2. Pattern detection in the driver: the driver receives radar
> pulses from the device and generates 'radar detected' event.
> 
> 
> Main DFS procedures
> ===================
> 
> 1. Hostapd gets driver's dfs capabilities.
> 
> 2. If 80211h is enabled in the hostapd.conf and the driver supports one of
> the above radar detection techniques, hostapd may use DFS channels.
> 
> 3. Hostapd selects an operational channel (default from hostapd.conf), if
> selected channel is a DFS channel, hostapd sends start_radar_detection
> command to the device/driver which starts monitoring for radar
> interference while hostapd sets a timer for a CAC (Channel Availability
> Check) time, which is 60 seconds.
> 
> 4. As CAC timer expires and no radar has been detected, hostapd may
> continue with the init flow, otherwise if interference is detected hostapd
> selects another channel (random selection) and repeats the CAC on the new
> channel (in case the new channel is also a DFS channel), while the
> original channel is added to a "black list" for a period of
> ''No-Occupancy'' time (time that the channel can't be used/selected).
> 
> 5. While using the channel the device/driver continuously monitors for
> potential radar interference. If interference is detected hostapd notified
> with 'radar detected' event, which selects a new channel and triggers a
> channel switch procedure, if the new channel is also a DFS channel,
> hostapd performs the CAC test, once it's successfully passed hostapd
> instructs the driver to initiate the transmission on the channel.
> 
> 
> Victor Goldenshtein (7):
>   hostapd: implement dfs drv ops functions
>   hostapd: add channel switch ability
>   hostapd: add dfs events
>   hostapd: add dfs support into interface init flow
>   nl80211: add support to enable TX on oper-channel
>   nl80211: add channel switch command/event
>   nl80211: add start radar detection command/event
> 
>  hostapd/config_file.c        |   10 +++
>  src/ap/ap_config.h           |    4 +
>  src/ap/ap_drv_ops.c          |   34 +++++++++
>  src/ap/ap_drv_ops.h          |    4 +
>  src/ap/beacon.c              |   16 ++++
>  src/ap/drv_callbacks.c       |   40 +++++++++++
>  src/ap/hostapd.c             |  158
> ++++++++++++++++++++++++++++++++++++++++-- src/ap/hostapd.h             | 
>  10 +++
>  src/ap/hw_features.c         |   48 ++++++++++---
>  src/ap/hw_features.h         |   10 +++
>  src/ap/ieee802_11.c          |  116 +++++++++++++++++++++++++++++++
>  src/ap/ieee802_11.h          |    4 +
>  src/drivers/driver.h         |   87 +++++++++++++++++++++++-
>  src/drivers/driver_common.c  |    2 +
>  src/drivers/driver_nl80211.c |  125 +++++++++++++++++++++++++++++++++
>  src/utils/eloop.c            |    4 +
>  src/utils/eloop.h            |    7 ++
>  17 files changed, 662 insertions(+), 17 deletions(-)


  parent reply	other threads:[~2012-01-26 19:27 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-26 12:41 [RFC 0/7] hostap: add DFS master ability Victor Goldenshtein
2012-01-26 12:41 ` [RFC 1/7] hostapd: implement dfs drv ops functions Victor Goldenshtein
2012-02-09 23:19   ` Luis R. Rodriguez
2012-02-15 16:47     ` Goldenshtein, Victor
2012-01-26 12:41 ` [RFC 2/7] hostapd: add channel switch ability Victor Goldenshtein
2012-01-26 12:41 ` [RFC 3/7] hostapd: add dfs events Victor Goldenshtein
2012-01-26 12:41 ` [RFC 4/7] hostapd: add dfs support into interface init flow Victor Goldenshtein
2012-01-26 13:10   ` Felix Fietkau
2012-01-26 13:36     ` Goldenshtein, Victor
2012-01-26 12:41 ` [RFC 5/7] nl80211: add support to enable TX on oper-channel Victor Goldenshtein
2012-01-26 12:41 ` [RFC 6/7] nl80211: add channel switch command/event Victor Goldenshtein
2012-01-26 12:41 ` [RFC 7/7] nl80211: add start radar detection command/event Victor Goldenshtein
2012-01-26 19:27 ` David Goodenough [this message]
2012-01-30  7:32   ` [RFC 0/7] hostap: add DFS master ability Goldenshtein, Victor
2012-01-30 10:35     ` David Goodenough
2012-01-30 11:02       ` Julian Calaby
2012-01-30 11:08         ` David Goodenough
2012-02-09 20:18           ` Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201201261927.17754.david.goodenough@btconnect.com \
    --to=david.goodenough@btconnect.com \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).