History

nl80211/cfg80211: enable DFS for IBSS mode

To use DFS in IBSS mode, userspace is required to react to radar events. It can inform nl80211 that it is capable of doing so by adding a NL80211_ATTR_HANDLE_DFS attribute when joining the IBSS. This attribute is supplied to let the kernelspace know that the userspace application can and will handle radar events, e.g. by intiating channel switches to a valid channel. DFS channels may only be used if this attribute is supplied and the driver supports it. Driver support will be checked even if a channel without DFS will be initially joined, as a DFS channel may be chosen later.

Simon Wunderlich committed 13 years ago

Commit 5336fa81 parent 687da136 files · +53 −11Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+9−0
@@ -1501,6 +1501,13 @@ enum nl80211_commands { · 1500 unmodified lines
1501 * @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported1501 * @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported
1502 * supported operating classes.1502 * supported operating classes.
1503 *1503 *
1504 * @NL80211_ATTR_HANDLE_DFS: A flag indicating whether user space
1505 * controls DFS operation in IBSS mode. If the flag is included in
1506 * %NL80211_CMD_JOIN_IBSS request, the driver will allow use of DFS
1507 * channels and reports radar events to userspace. Userspace is required
1508 * to react to radar events, e.g. initiate a channel switch or leave the
1509 * IBSS network.
1510 *
1504 * @NL80211_ATTR_MAX: highest attribute number currently defined1511 * @NL80211_ATTR_MAX: highest attribute number currently defined
1505 * @__NL80211_ATTR_AFTER_LAST: internal use1512 * @__NL80211_ATTR_AFTER_LAST: internal use
1506 */1513 */
@@ -1815,6 +1822,8 @@ enum nl80211_attrs { · 308 unmodified lines
1815 1822
1816 NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES,1823 NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES,
1817 1824
1825 NL80211_ATTR_HANDLE_DFS,
1826
1818 /* add attributes here, update the policy in nl80211.c */1827 /* add attributes here, update the policy in nl80211.c */
1819 1828
1820 __NL80211_ATTR_AFTER_LAST,1829 __NL80211_ATTR_AFTER_LAST,