aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSimon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>2013-01-08 08:04:07 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-01-16 17:41:54 -0500
commit11c4a075db2f8774d37544342c8cb9752b4db9e1 (patch)
treedbd28f1bbac2a42ebe4aade8d1a4bc2871431924 /include
parentcee00a959c0a86571e6f99cf42f0261d7e54d2ae (diff)
cfg80211: check radar interface combinations
To ease further DFS development regarding interface combinations, use the interface combinations structure to test for radar capabilities. Drivers can specify which channel widths they support, and in which modes. Right now only a single AP interface is allowed, but as the DFS code evolves other combinations can be enabled. Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h2
-rw-r--r--include/uapi/linux/nl80211.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index f1686d460e6b..970da4420676 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -2125,6 +2125,7 @@ struct ieee80211_iface_limit {
2125 * @beacon_int_infra_match: In this combination, the beacon intervals 2125 * @beacon_int_infra_match: In this combination, the beacon intervals
2126 * between infrastructure and AP types must match. This is required 2126 * between infrastructure and AP types must match. This is required
2127 * only in special cases. 2127 * only in special cases.
2128 * @radar_detect_widths: bitmap of channel widths supported for radar detection
2128 * 2129 *
2129 * These examples can be expressed as follows: 2130 * These examples can be expressed as follows:
2130 * 2131 *
@@ -2177,6 +2178,7 @@ struct ieee80211_iface_combination {
2177 u16 max_interfaces; 2178 u16 max_interfaces;
2178 u8 n_limits; 2179 u8 n_limits;
2179 bool beacon_int_infra_match; 2180 bool beacon_int_infra_match;
2181 u8 radar_detect_widths;
2180}; 2182};
2181 2183
2182struct mac_address { 2184struct mac_address {
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index d01c16220dc5..e6eeb4ba5dc5 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -2984,6 +2984,8 @@ enum nl80211_iface_limit_attrs {
2984 * the infrastructure network's beacon interval. 2984 * the infrastructure network's beacon interval.
2985 * @NL80211_IFACE_COMB_NUM_CHANNELS: u32 attribute specifying how many 2985 * @NL80211_IFACE_COMB_NUM_CHANNELS: u32 attribute specifying how many
2986 * different channels may be used within this group. 2986 * different channels may be used within this group.
2987 * @NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS: u32 attribute containing the bitmap
2988 * of supported channel widths for radar detection.
2987 * @NUM_NL80211_IFACE_COMB: number of attributes 2989 * @NUM_NL80211_IFACE_COMB: number of attributes
2988 * @MAX_NL80211_IFACE_COMB: highest attribute number 2990 * @MAX_NL80211_IFACE_COMB: highest attribute number
2989 * 2991 *
@@ -3016,6 +3018,7 @@ enum nl80211_if_combination_attrs {
3016 NL80211_IFACE_COMB_MAXNUM, 3018 NL80211_IFACE_COMB_MAXNUM,
3017 NL80211_IFACE_COMB_STA_AP_BI_MATCH, 3019 NL80211_IFACE_COMB_STA_AP_BI_MATCH,
3018 NL80211_IFACE_COMB_NUM_CHANNELS, 3020 NL80211_IFACE_COMB_NUM_CHANNELS,
3021 NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
3019 3022
3020 /* keep last */ 3023 /* keep last */
3021 NUM_NL80211_IFACE_COMB, 3024 NUM_NL80211_IFACE_COMB,