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
782782 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
783783 * when this command completes.
784784 *
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+ *
785789 * @NL80211_CMD_MAX: highest used command number
786790 * @__NL80211_CMD_AFTER_LAST: internal use
787791 */
@@ -966,6 +970,8 @@ enum nl80211_commands { · 178 unmodified lines
966970 NL80211_CMD_TDLS_CHANNEL_SWITCH,
967971 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
968972
973+ NL80211_CMD_WIPHY_REG_CHANGE,
974+
969975 /* add new commands above here */
970976
971977 /* used to define NL80211_CMD_MAX below */