History

cfg80211: Add attributes describing prohibited channel bandwidth

Since there are frequency bands (e.g. 5.9GHz) allowing channels with only 10 or 5 MHz bandwidth, this patch adds attributes that allow keeping track about this information. When channel attributes are reported to user-space, make sure to not break old tools, i.e. if the 'split wiphy dump' is enabled, report the extra attributes (if present) describing the bandwidth restrictions. If the 'split wiphy dump' is not enabled, completely omit those channels that have flags set to either IEEE80211_CHAN_NO_10MHZ or IEEE80211_CHAN_NO_20MHZ. Add the check for new bandwidth restriction flags in cfg80211_chandef_usable() to comply with the restrictions.

Rostislav Lisovy committed 12 years ago

Commit ea077c11 parent 8bd811a4 files · +27 −0Browse files

Showing the changes to include/uapi/linux (1 of 4 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+6−0
@@ -2358,6 +2358,10 @@ enum nl80211_band_attr { · 2357 unmodified lines
2358 * connected to an AP with DFS and radar detection on the UNII band (it is2358 * connected to an AP with DFS and radar detection on the UNII band (it is
2359 * up to user-space, i.e., wpa_supplicant to perform the required2359 * up to user-space, i.e., wpa_supplicant to perform the required
2360 * verifications)2360 * verifications)
2361 * @NL80211_FREQUENCY_ATTR_NO_20MHZ: 20 MHz operation is not allowed
2362 * on this channel in current regulatory domain.
2363 * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed
2364 * on this channel in current regulatory domain.
2361 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number2365 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
2362 * currently defined2366 * currently defined
2363 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use2367 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -2384,6 +2388,8 @@ enum nl80211_frequency_attr { · 20 unmodified lines
2384 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME,2388 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME,
2385 NL80211_FREQUENCY_ATTR_INDOOR_ONLY,2389 NL80211_FREQUENCY_ATTR_INDOOR_ONLY,
2386 NL80211_FREQUENCY_ATTR_GO_CONCURRENT,2390 NL80211_FREQUENCY_ATTR_GO_CONCURRENT,
2391 NL80211_FREQUENCY_ATTR_NO_20MHZ,
2392 NL80211_FREQUENCY_ATTR_NO_10MHZ,
2387 2393
2388 /* keep last */2394 /* keep last */
2389 __NL80211_FREQUENCY_ATTR_AFTER_LAST,2395 __NL80211_FREQUENCY_ATTR_AFTER_LAST,