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.
Showing the changes to include/uapi/linux (1 of 8 files). Show all
Unified · Split
| @@ -782,6 +782,10 @@ · 781 unmodified lines | |||
| 782 | * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel | 782 | * 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 number | 789 | * @NL80211_CMD_MAX: highest used command number |
| 786 | * @__NL80211_CMD_AFTER_LAST: internal use | 790 | * @__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 */ |