From: Bernhard Schmidt <bernhard.schmidt@saxnet.de>
To: linux-wireless <linux-wireless@vger.kernel.org>
Cc: <lrodriguez@atheros.com>, <nbd@openwrt.org>,
<dubowoj@neratec.com>, <zefir.kurtisi@neratec.com>,
<simon.wunderlich@saxnet.de>
Subject: [PATCH 1/5] mac80211: add DFS related channel flags
Date: Mon, 17 Jan 2011 09:31:03 +0100 [thread overview]
Message-ID: <20110117161133.66B54207E@mx.techwires.net> (raw)
In-Reply-To: <201101171621.29863.bernhard.schmidt@saxnet.de>
Before a radar channel can be used, a full CAC has be done, the
IEEE80211_CHAN_RADAR_CLEAR flags indicates that this has been done. If either
during CAC or in-service monitoring interference is detected, the channel is
added to NOL and marked with IEEE80211_CHAN_RADAR_INTERFERENCE.
---
include/linux/nl80211.h | 6 ++++++
include/net/cfg80211.h | 18 ++++++++++++------
net/wireless/nl80211.c | 4 ++++
3 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index e3c9ec7..acb3c33 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1371,6 +1371,10 @@ enum nl80211_band_attr {
* (100 * dBm).
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
* currently defined
+ * @NL80211_FREQUENCY_ATTR_RADAR_CLEAR: during a full CAC no interference has
+ * been detected
+ * @NL80211_FREQUENCY_ATTR_RADAR_INTERFERENCE: either during a CAC or
+ * in-service monitoring radar interference was detected
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
*/
enum nl80211_frequency_attr {
@@ -1381,6 +1385,8 @@ enum nl80211_frequency_attr {
NL80211_FREQUENCY_ATTR_NO_IBSS,
NL80211_FREQUENCY_ATTR_RADAR,
NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
+ NL80211_FREQUENCY_ATTR_RADAR_CLEAR,
+ NL80211_FREQUENCY_ATTR_RADAR_INTERFERENCE,
/* keep last */
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 1322695..1e9a052 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -98,14 +98,20 @@ enum ieee80211_band {
* is not permitted.
* @IEEE80211_CHAN_NO_HT40MINUS: extension channel below this channel
* is not permitted.
+ * @IEEE80211_CHAN_RADAR_CLEAR: during a full CAC no interference has
+ * been detected
+ * @IEEE80211_CHAN_RADAR_INTERFERENCE: either during a CAC or
+ * in-service monitoring radar interference was detected
*/
enum ieee80211_channel_flags {
- IEEE80211_CHAN_DISABLED = 1<<0,
- IEEE80211_CHAN_PASSIVE_SCAN = 1<<1,
- IEEE80211_CHAN_NO_IBSS = 1<<2,
- IEEE80211_CHAN_RADAR = 1<<3,
- IEEE80211_CHAN_NO_HT40PLUS = 1<<4,
- IEEE80211_CHAN_NO_HT40MINUS = 1<<5,
+ IEEE80211_CHAN_DISABLED = 1<<0,
+ IEEE80211_CHAN_PASSIVE_SCAN = 1<<1,
+ IEEE80211_CHAN_NO_IBSS = 1<<2,
+ IEEE80211_CHAN_RADAR = 1<<3,
+ IEEE80211_CHAN_NO_HT40PLUS = 1<<4,
+ IEEE80211_CHAN_NO_HT40MINUS = 1<<5,
+ IEEE80211_CHAN_RADAR_CLEAR = 1<<6,
+ IEEE80211_CHAN_RADAR_INTERFERENCE = 1<<7,
};
#define IEEE80211_CHAN_NO_HT40 \
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index f4eb3ea..0524423 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -307,6 +307,10 @@ static int nl80211_msg_put_channel(struct sk_buff *msg,
NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_NO_IBSS);
if (chan->flags & IEEE80211_CHAN_RADAR)
NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_RADAR);
+ if (chan->flags & IEEE80211_CHAN_RADAR_CLEAR)
+ NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_RADAR_CLEAR);
+ if (chan->flags & IEEE80211_CHAN_RADAR_INTERFERENCE)
+ NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_RADAR_INTERFERENCE);
NLA_PUT_U32(msg, NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
DBM_TO_MBM(chan->max_power));
--
1.5.6.5
next prev parent reply other threads:[~2011-01-17 16:20 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-17 15:21 [RFC 0/13] DFS/radar state/userspace handling Bernhard Schmidt
2011-01-17 8:31 ` Bernhard Schmidt [this message]
2011-01-18 10:40 ` [PATCH 1/5] mac80211: add DFS related channel flags Johannes Berg
2011-01-18 11:59 ` Bernhard Schmidt
2011-01-18 12:16 ` Johannes Berg
2011-01-18 12:27 ` Bernhard Schmidt
2011-01-18 14:29 ` Zefir Kurtisi
2011-01-18 10:40 ` Johannes Berg
2011-01-17 9:16 ` [PATCH 2/5] mac80211: initialize radar params + add driver API Bernhard Schmidt
2011-01-18 10:43 ` Johannes Berg
2011-01-18 12:00 ` Bernhard Schmidt
2011-01-18 10:44 ` Johannes Berg
2011-01-17 10:05 ` [PATCH 3/5] mac80211: add NOL functionality Bernhard Schmidt
2011-01-18 10:43 ` Johannes Berg
2011-01-18 12:01 ` Bernhard Schmidt
2011-01-18 12:13 ` Johannes Berg
2011-01-18 12:28 ` Bernhard Schmidt
2011-01-17 10:24 ` [PATCH 4/5] mac80211: add primarily CAC support Bernhard Schmidt
2011-01-18 10:45 ` Johannes Berg
2011-01-18 12:01 ` Bernhard Schmidt
2011-01-18 12:12 ` Johannes Berg
2011-01-18 12:28 ` Bernhard Schmidt
2011-01-18 10:48 ` Johannes Berg
2011-01-18 12:00 ` Bernhard Schmidt
2011-01-17 11:49 ` [PATCH 5/5] cfg80211: userspace commands/notifications Bernhard Schmidt
2011-01-17 12:55 ` [PATCH 1/8] hostap: make hostapd_parse_rates generic Bernhard Schmidt
2011-01-17 12:56 ` [PATCH 2/8] hostap: add channel_list config parameter Bernhard Schmidt
2011-01-17 13:00 ` [PATCH 3/8] hostapd: select random channel of the list Bernhard Schmidt
2011-01-17 13:07 ` [PATCH 4/8] hostap: sync nl80211_copy.h Bernhard Schmidt
2011-01-17 13:14 ` [PATCH 5/8] hostap: pull in additional chan flags Bernhard Schmidt
2011-01-17 13:23 ` [PATCH 6/8] hostap: request CAC before using a radar channel Bernhard Schmidt
2011-01-17 13:26 ` [PATCH 7/8] hostap: handle interference on current channel Bernhard Schmidt
2011-01-17 13:27 ` [PATCH 8/8] hostap: do not disable radar channels Bernhard Schmidt
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=20110117161133.66B54207E@mx.techwires.net \
--to=bernhard.schmidt@saxnet.de \
--cc=dubowoj@neratec.com \
--cc=linux-wireless@vger.kernel.org \
--cc=lrodriguez@atheros.com \
--cc=nbd@openwrt.org \
--cc=simon.wunderlich@saxnet.de \
--cc=zefir.kurtisi@neratec.com \
/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.