History

cfg80211: allow wiphy specific regdomain management

Add a new regulatory flag that allows a driver to manage regdomain changes/updates for its own wiphy. A self-managed wiphys only employs regulatory information obtained from the FW and driver and does not use other cfg80211 sources like beacon-hints, country-code IEs and hints from other devices on the same system. Conversely, a self-managed wiphy does not share its regulatory hints with other devices in the system. If a system contains several devices, one or more of which are self-managed, there might be contradictory regulatory settings between them. Usage of flag is generally discouraged. Only use it if the FW/driver is incompatible with non-locally originated hints. A new API lets the driver send a complete regdomain, to be applied on its wiphy only. After a wiphy-specific regdomain change takes place, usermode will get a new type of change notification. The regulatory core also takes care enforce regulatory restrictions, in case some interfaces are on forbidden channels.

Jonathan Doron committed 11 years ago

Commit b0d7aa51 parent ad30ca28 files · +188 −19Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+6−0
@@ -782,6 +782,10 @@ · 781 unmodified lines
782 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel782 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
783 * when this command completes.783 * when this command completes.
784 *784 *
785 * @NL80211_CMD_WIPHY_REG_CHANGE: Similar to %NL80211_CMD_REG_CHANGE, but used
786 * as an event to indicate changes for devices with wiphy-specific regdom
787 * management.
788 *
785 * @NL80211_CMD_MAX: highest used command number789 * @NL80211_CMD_MAX: highest used command number
786 * @__NL80211_CMD_AFTER_LAST: internal use790 * @__NL80211_CMD_AFTER_LAST: internal use
787 */791 */
@@ -966,6 +970,8 @@ enum nl80211_commands { · 178 unmodified lines
966 NL80211_CMD_TDLS_CHANNEL_SWITCH,970 NL80211_CMD_TDLS_CHANNEL_SWITCH,
967 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,971 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
968 972
973 NL80211_CMD_WIPHY_REG_CHANGE,
974
969 /* add new commands above here */975 /* add new commands above here */
970 976
971 /* used to define NL80211_CMD_MAX below */977 /* used to define NL80211_CMD_MAX below */