All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.